#ifndef _D3D11_RENDER_DEVICE_H_
#define _D3D11_RENDER_DEVICE_H_
#include "RenderDevice.h"

namespace DeviousRenderer
{

	DXGI_FORMAT GD3D11Format[PF_NUM] = 
	{
		DXGI_FORMAT_R32G32B32A32_FLOAT,
		DXGI_FORMAT_R8G8B8A8_UNORM
	}

class D3D11RenderDevice : public DeRenderDevice
{
public:
	D3D11RenderDevice();
	virtual ~D3D11RenderDevice();

	virtual DeTexture2DPTr			CreateTexture2D(int sizeX, int sizeY, EPixelFormat format, uint numMips, dword flags);
	virtual DeRenderTargetViewPtr	CreateRenderTargetView(const DeTexture2DPtr& texture2D);
private:
	
	D3D11_USAGE			GetD3D11Usage(dword flags);
	D3D11_BIND_FLAG		GetD3D11BindFlag(dword flags);
	
};

}
#endif//_D3D11_RENDER_DEVICE_H_